//
// 此文件是由 JavaTM Architecture for XML Binding (JAXB) 引用实现 v2.2.6 生成的
// 请访问 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// 在重新编译源模式时, 对此文件的所有修改都将丢失。
// 生成时间: 2017.03.14 时间 02:37:53 PM CST 
//

package cn.edu.scau.cmi.liangzaoqing.database.model;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

/**
 * <p>
 * columnType complex type的 Java 类。
 * 
 * <p>
 * 以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="columnType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}name use="required""/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}type"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}javaType"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}key"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}referenceTable"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}referencedColumn"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}referencedCount"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}referenceColumn"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}referenceCount"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}inverseJoinColumn"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}isForeignKey"/>
 *       &lt;attribute ref="{cn.edu.scau.cmi.liangshanero}isPrimaryKey"/>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "columnType")
public class ColumnType {

	@XmlAttribute(name = "name", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String name;

	@XmlAttribute(name = "field", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String field;
	
	@XmlAttribute(name = "fieldUpper", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String fieldUpper;
	
	@XmlAttribute(name = "fieldGet", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String fieldGet;
	
	@XmlAttribute(name = "type", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String type;
	
	@XmlAttribute(name = "javaType", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String javaType;

	@XmlAttribute(name = "key", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String key;
	
	@XmlAttribute(name = "inverseJoinColumn", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String inverseJoinColumn;
	
	@XmlAttribute(name = "inverseJoinTable", namespace = "cn.edu.scau.cmi.liangshanero", required = true)
	protected String inverseJoinTable;

	@XmlAttribute(name = "referenceTable", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String referenceTable;
	
	@XmlAttribute(name = "referenceColumn", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String referenceColumn;
	
	@XmlAttribute(name = "referenceCount", namespace = "cn.edu.scau.cmi.liangshanero")
	protected Integer referenceCount;

	@XmlAttribute(name = "referenceOrder", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String referenceOrder;
	
	@XmlAttribute(name = "referencedColumn", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String referencedColumn;
	
	@XmlAttribute(name = "referencedCount", namespace = "cn.edu.scau.cmi.liangshanero")
	protected Integer referencedCount;

	@XmlAttribute(name = "referencedOrder", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String referencedOrder;
	
	@XmlAttribute(name = "isForeignKey", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String isForeignKey;

	@XmlAttribute(name = "isPrimaryKey", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String isPrimaryKey;
	
	@XmlAttribute(name = "isReferenceSelf", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String isReferenceSelf;
	//order是指该列在该种列类型上相对于所有列的排序
	@XmlAttribute(name = "order", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String order;
	//columnOrder是指该列在纯联系表的列位置
	@XmlAttribute(name = "columnOrder", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String columnOrder;

	@XmlAttribute(name = "hasReferenceLoop", namespace = "cn.edu.scau.cmi.liangshanero")
	protected String hasReferenceLoop;
	/**
	 * 获取name属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置name属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setName(String value) {
		this.name = value;
	}

	
	
	public String getField() {
		return field;
	}

	public void setField(String field) {
		this.field = field;
	}

	
	
	public String getFieldUpper() {
		return fieldUpper;
	}

	public void setFieldUpper(String fieldUpper) {
		this.fieldUpper = fieldUpper;
	}

	
	
	public String getFieldGet() {
		return fieldGet;
	}

	public void setFieldGet(String fieldGet) {
		this.fieldGet = fieldGet;
	}

	/**
	 * 获取type属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getType() {
		return type;
	}

	/**
	 * 设置type属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setType(String value) {
		this.type = value;
	}

	
	/**
	 * 获取type属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getJavaType() {
		return javaType;
	}

	/**
	 * 设置type属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setJavaType(String value) {
		this.javaType = value;
	}
	/**
	 * 获取key属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getKey() {
		return key;
	}

	/**
	 * 设置key属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setKey(String key) {
		this.key = key;
	}
	
	/**
	 * 获取inverseJoinColumn属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getInverseJoinColumn() {
		return inverseJoinColumn;
	}

	/**
	 * 设置inverseJoinColumn属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setInverseJoinColumn(String inverseJoinColumn) {
		this.inverseJoinColumn = inverseJoinColumn;
	}

	
	public String getInverseJoinTable() {
		return inverseJoinTable;
	}

	public void setInverseJoinTable(String inverseJoinTable) {
		this.inverseJoinTable = inverseJoinTable;
	}

	/**
	 * 获取referenceTable属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getReferenceTable() {
		return referenceTable;
	}

	/**
	 * 设置referenceTable属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setReferenceTable(String value) {
		this.referenceTable = value;
	}
	
	
	/**
	 * 获取referenceCount属性的值。
	 * 
	 * @return possible object is {@link Integer }
	 * 
	 */
	public Integer getReferenceCount() {
		return referenceCount;
	}

	/**
	 * 设置referenceCount属性的值。
	 * 
	 * @param value allowed object is {@link Integer }
	 * 
	 */
	public void setReferenceCount(Integer value) {
		this.referenceCount = value;
	}

	/**
	 * 获取referencedColumn属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getReferencedColumn() {
		return referencedColumn;
	}

	/**
	 * 设置referencedColumn属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setReferencedColumn(String value) {
		this.referencedColumn = value;
	}
	
	/**
	 * 获取referencedCount属性的值。
	 * 
	 * @return possible object is {@link Integer }
	 * 
	 */
	public Integer getReferencedCount() {
		return referencedCount;
	}

	/**
	 * 设置referencedCount属性的值。
	 * 
	 * @param value allowed object is {@link Integer }
	 * 
	 */
	public void setReferencedCount(Integer value) {
		this.referencedCount = value;
	}

	/**
	 * 获取referenceColumn属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getReferenceColumn() {
		return referenceColumn;
	}

	/**
	 * 设置referenceColumn属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setReferenceColumn(String value) {
		this.referenceColumn = value;
	}

	/**
	 * 获取isForeignKey属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getIsForeignKey() {
		return isForeignKey;
	}

	/**
	 * 设置isForeignKey属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setIsForeignKey(String isForeignKey) {
		this.isForeignKey = isForeignKey;
	}

	/**
	 * 获取isPrimaryKey属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getIsPrimaryKey() {
		return isPrimaryKey;
	}

	/**
	 * 设置isPrimaryKey属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setIsPrimaryKey(String isPrimaryKey) {
		this.isPrimaryKey = isPrimaryKey;
	}
	
	/**
	 * 获取order属性的值。
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getOrder() {
		return order;
	}

	/**
	 * 设置order属性的值。
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setOrder(String order) {
		this.order = order;
	}

	public String getColumnOrder() {
		return columnOrder;
	}

	public void setColumnOrder(String columnOrder) {
		this.columnOrder = columnOrder;
	}
	//判断外键引用的表是否为自身表，也就是自引用
	public String getIsReferenceSelf() {
		return isReferenceSelf;
	}

	public void setIsReferenceSelf(String isReferenceSelf) {
		this.isReferenceSelf = isReferenceSelf;
	}

	public String getReferenceOrder() {
		return referenceOrder;
	}

	public void setReferenceOrder(String referenceOrder) {
		this.referenceOrder = referenceOrder;
	}

	public String getHasReferenceLoop() {
		return hasReferenceLoop;
	}

	public void setHasReferenceLoop(String hasReferenceLoop) {
		this.hasReferenceLoop = hasReferenceLoop;
	}

	public String getReferencedOrder() {
		return referencedOrder;
	}

	public void setReferencedOrder(String referencedOrder) {
		this.referencedOrder = referencedOrder;
	}

	@Override
	public String toString() {
		return "ColumnType [name=" + name + ", type=" + type + ", javaType=" + javaType + ", key=" + key
				+ ", inverseJoinColumn=" + inverseJoinColumn + ", inverseJoinTable=" + inverseJoinTable
				+ ", referenceTable=" + referenceTable + ", referenceCount=" + referenceCount + ", referencedColumn="
				+ referencedColumn + ", referencedCount=" + referencedCount + ", referenceColumn=" + referenceColumn
				+ ", isForeignKey=" + isForeignKey + ", isPrimaryKey=" + isPrimaryKey + ", isReferenceSelf="
				+ isReferenceSelf + ", order=" + order + ", columnOrder=" + columnOrder + ", referenceOrder="
				+ referenceOrder + ", referencedOrder=" + referencedOrder + ", hasReferenceLoop=" + hasReferenceLoop
				+ "]";
	}
	
}
